19 research outputs found

    SANNS: Scaling Up Secure Approximate k-Nearest Neighbors Search

    Get PDF
    The kk-Nearest Neighbor Search (kk-NNS) is the backbone of several cloud-based services such as recommender systems, face recognition, and database search on text and images. In these services, the client sends the query to the cloud server and receives the response in which case the query and response are revealed to the service provider. Such data disclosures are unacceptable in several scenarios due to the sensitivity of data and/or privacy laws. In this paper, we introduce SANNS, a system for secure kk-NNS that keeps client's query and the search result confidential. SANNS comprises two protocols: an optimized linear scan and a protocol based on a novel sublinear time clustering-based algorithm. We prove the security of both protocols in the standard semi-honest model. The protocols are built upon several state-of-the-art cryptographic primitives such as lattice-based additively homomorphic encryption, distributed oblivious RAM, and garbled circuits. We provide several contributions to each of these primitives which are applicable to other secure computation tasks. Both of our protocols rely on a new circuit for the approximate top-kk selection from nn numbers that is built from O(n+k2)O(n + k^2) comparators. We have implemented our proposed system and performed extensive experimental results on four datasets in two different computation environments, demonstrating more than 18−31×18-31\times faster response time compared to optimally implemented protocols from the prior work. Moreover, SANNS is the first work that scales to the database of 10 million entries, pushing the limit by more than two orders of magnitude.Comment: 18 pages, to appear at USENIX Security Symposium 202

    Attacking FHE-based applications by software fault injections

    Get PDF
    The security of fully homomorphic encryption is often studied at the primitive level, and a lot of questions remain open when the cryptographer needs to choose between incompatible options, like IND- CCA1 security versus circular security or search-to-decision reduction. The aim of this report is to emphasize the well known (and often under- estimated) fact that the ability to compute every function, which is the most desired feature of Homomorphic Encryption schemes, is also their main weakness. We show that it can be exploited to perform very realistic attacks in the context of secure homomorphic computations in the cloud. In order to break a fully homomorphic system, the cloud provider who runs the computation will not target the primitive but the overall system. The attacks we describe are a combination between safe-errors attacks (well known in the smart cards domain) and reaction attacks, they are easy to perform and they can reveal one secret key bit per query. Furthermore, as homomorphic primitives gets improved, and become T times faster with K times smaller keys, these attacks become KT times more practical. Our purpose is to highlight the fact, that if a semantically-secure model is in general enough to design homomorphic primitives, additional protections need to be adopted at a system level to secure cloud applications. We do not attack a specific construction but the entire idea of homomorphic encryption, by pointing out all the possible targets of this attack (encrypted data, bootstrapping keys, trans-ciphering keys, etc.). We also propose some possible countermeasures (or better precautions) in order to prevent the loss of information

    Multi-Key Homomophic Encryption from TFHE

    Get PDF
    In this paper, we propose a Multi-Key Homomorphic Encryption (MKHE) scheme by generalizing the low-latency homomorphic encryption by Chillotti et al. (ASIACRYPT 2016). Our scheme can evaluate a binary gate on ciphertexts encrypted under different keys followed by a bootstrapping. The biggest challenge to meeting the goal is to design a multiplication between a bootstrapping key of a single party and a multi-key RLWE ciphertext. We propose two different algorithms for this hybrid product. Our first method improves the ciphertext extension by Mukherjee and Wichs (EUROCRYPT 2016) to provide better performance. The other one is a whole new approach which has advantages in storage, complexity, and noise growth. Compared to previous work, our construction is more efficient in terms of both asymptotic and concrete complexity. The length of ciphertexts and the computational costs of a binary gate grow linearly and quadratically on the number of parties, respectively. We provide experimental results demonstrating the running time of a homomorphic NAND gate with bootstrapping. To the best of our knowledge, this is the first attempt in the literature to implement an MKHE scheme

    Improving TFHE: faster packed homomorphic operations and efficient circuit bootstrapping

    Get PDF
    In this paper, we present several methods to improve the evaluation of homomorphic functions, both for fully and for leveled homomorphic encryption. We propose two packing methods, in order to decrease the expansion factor and optimize the evaluation of look-up tables and random functions in TRGSW-based homomorphic schemes. We also extend the automata logic, introduced in [19, 12], to the efficient leveled evaluation of weighted automata, and present a new homomorphic counter called TBSR, that supports all the elementary operations that occur in a multiplication. These improvements speed-up the evaluation of most arithmetic functions in a packed leveled mode, with a noise overhead that remains additive. We finally present a new circuit bootstrapping that converts TLWE into low-noise TRGSW ciphertexts in just 137ms, which makes the leveled mode of TFHE composable, and which is fast enough to speed-up arithmetic functions, compared to the gate-by-gate bootstrapping given in [12]. Finally, we propose concrete parameter sets and timing comparison for all our constructions

    Scooby: Improved Multi-Party Homomorphic Secret Sharing Based on FHE

    Get PDF
    We present new constructions of multi-party homomorphic secret sharing (HSS) based on a new primitive that we call homomorphic encryption with decryption to shares (HEDS). Our first construction, which we call Scooby, is based on many popular fully homomorphic encryption (FHE) schemes with a linear decryption property. Scooby achieves an nn-party HSS for general circuits with complexity O(∣F∣+log⁡n)O(|F| + \log n), as opposed to O(n2⋅∣F∣)O(n^2 \cdot |F|) for the prior best construction based on multi-key FHE. Scooby can be based on (ring)-LWE with a super-polynomial modulus-to-noise ratio. In our second construction, Scrappy, assuming any generic FHE plus HSS for NC1-circuits, we obtain a HEDS scheme which does not require a super-polynomial modulus. While these schemes all require FHE, in another instantiation, Shaggy, we show how in some cases it is possible to obtain multi-party HSS without FHE, for a small number of parties and constant-degree polynomials. Finally, we show that our Scooby scheme can be adapted to use multi-key fully homomorphic encryption, giving more efficient spooky encryption and setup-free HSS. This latter scheme, Casper, if concretely instantiated with a B/FV-style multi-key FHE scheme, for functions FF which do not require bootstrapping, gives an HSS complexity of O(n⋅∣F∣+n2⋅log⁡n)O(n \cdot |F| + n^2 \cdot \log n)

    CONCRETE: Concrete Operates oN Ciphertexts Rapidly by Extending TfhE

    Get PDF
    International audienceFully homomorphic encryption (FHE) extends traditional encryption schemes. It allows one to directly compute on encrypted data without requiring access to the decryption key. This paper introduces CONCRETE, an open-source library developed in Rust that builds on the state-of-art TFHE cryptosystem. It provides a userfriendly interface making FHE easy to integrate. The library deals with inputs of arbitrary format and comes with an extensive set of operations to play with ciphertexts, including a programmable bootstrapping. CONCRETE is available on GitHub at URL https:// github.com/zama-ai/concrete and on https://crates.io

    Parameter Optimization & Larger Precision for (T)FHE

    Get PDF
    In theory, Fully Homomorphic Encryption schemes allow users to compute any operation over encrypted data. However in practice, one of the major difficulties lies into determining secure cryptographic parameters that minimize the computational cost of evaluating a circuit. In this paper, we propose a solution to solve this open problem. Even though it mainly focuses on TFHE, the method is generic enough to be adapted to all the current FHE schemes. TFHE is particularly suited, for small precision messages, from Boolean to 5-bit integers. It is possible to instantiate bigger integers with this scheme, however the computational cost quickly becomes unpractical. By studying the parameter optimization problem for TFHE, we observed that if one wants to evaluate operations on larger integers, the best way to do it is by encrypting the message into several ciphertexts, instead of considering bigger parameters for a single ciphertext. In the literature, one can find some constructions going in that direction, which are mainly based on radix and CRT representations of the message. However, they still present some limitations, such as inefficient algorithms to evaluate generic homomorphic lookup tables and no solution to work with arbitrary modulus for the message space. We overcome these limitations by proposing two new ways to evaluate homomorphic modular reductions for any modulo in the radix approach, by introducing on the one hand a new hybrid representation, and on the other hand by exploiting a new efficient algorithm to evaluate generic lookup tables on several ciphertexts. The latter is not only a programmable bootstrapping but does not require any padding bit, as needed in the original TFHE bootstrapping. We additionally provide benchmarks to support our results in practice. Finally, we formalize the parameter selection as an optimization problem, and we introduce a framework based on it enabling easy and efficient translation of an arithmetic circuit into an FHE graph of operation along with its optimal set of cryptographic parameters. This framework offers a plethora of features: fair comparisons between FHE operators, study of contexts that are favorable to a given FHE strategy/algorithm, failure probability selection for the entire use case, and so on

    Ultrafast homomorphic encryption models enable secure outsourcing of genotype imputation

    Get PDF
    Genotype imputation is a fundamental step in genomic data analysis, where missing variant genotypes are predicted using the existing genotypes of nearby ???tag??? variants. Although researchers can outsource genotype imputation, privacy concerns may prohibit genetic data sharing with an untrusted imputation service. Here, we developed secure genotype imputation using efficient homomorphic encryption (HE) techniques. In HE-based methods, the genotype data are secure while it is in transit, at rest, and in analysis. It can only be decrypted by the owner. We compared secure imputation with three state-of-the-art non-secure methods and found that HE-based methods provide genetic data security with comparable accuracy for common variants. HE-based methods have time and memory requirements that are comparable or lower than those for the non-secure methods. Our results provide evidence that HE-based methods can practically perform resource-intensive computations for high-throughput genetic data analysis. The source code is freely available for download at https://github.com/K-miran/secure-imputation

    Towards efficient and secure Fully Homomorphic Encryption and cloud computing

    No full text
    Le chiffrement homomorphe est une branche de la cryptologie, dans laquelle les schĂ©mas de chiffrement offrent la possibilitĂ© de faire des calculs sur les messages chiffrĂ©s, sans besoin de les dĂ©chiffrer. L’intĂ©rĂȘt pratique de ces schĂ©mas est dĂ» Ă  l’énorme quantitĂ© d'applications pour lesquels ils peuvent ĂȘtre utilisĂ©s. En sont un exemple le vote Ă©lectronique, les calculs sur des donnĂ©es sensibles, comme des donnĂ©es mĂ©dicales ou financiĂšres, le cloud computing, etc..Le premier schĂ©ma de chiffrement (complĂštement) homomorphe n'a Ă©tĂ© proposĂ© qu'en 2009 par Gentry. Il a introduit une technique appelĂ©e bootstrapping, utilisĂ©e pour rĂ©duire le bruit des chiffrĂ©s : en effet, dans tous les schĂ©mas de chiffrement homomorphe proposĂ©s, les chiffrĂ©s contiennent une petite quantitĂ© de bruit, nĂ©cessaire pour des raisons de sĂ©curitĂ©. Quand on fait des calculs sur les chiffrĂ©s bruitĂ©s, le bruit augmente et, aprĂšs avoir Ă©valuĂ© un certain nombre d’opĂ©rations, ce bruit devient trop grand et, s'il n'est pas contrĂŽlĂ©, risque de compromettre le rĂ©sultat des calculs.Le bootstrapping est du coup fondamental pour la construction des schĂ©mas de chiffrement homomorphes, mais est une technique trĂšs coĂ»teuse, qu'il s'agisse de la mĂ©moire nĂ©cessaire ou du temps de calcul. Les travaux qui on suivi la publication de Gentry ont eu comme objectif celui de proposer de nouveaux schĂ©mas et d’amĂ©liorer le bootstrapping pour rendre le chiffrement homomorphe faisable en pratique. L’une des constructions les plus cĂ©lĂšbres est GSW, proposĂ© par Gentry, Sahai et Waters en 2013. La sĂ©curitĂ© du schĂ©ma GSW se fonde sur le problĂšme LWE (learning with errors), considĂ©rĂ© comme difficile en pratique. Le bootstrapping le plus rapide, exĂ©cutĂ© sur un schĂ©ma de type GSW, a Ă©tĂ© proposĂ© en 2015 par Ducas et Micciancio. Dans cette thĂšse on propose une nouvelle variante du schĂ©ma de chiffrement homomorphe de Ducas et Micciancio, appelĂ©e TFHE.Le schĂ©ma TFHE amĂ©liore les rĂ©sultats prĂ©cĂ©dents, en proposant un bootstrapping plus rapide (de l'ordre de quelques millisecondes) et des clĂ©s de bootstrapping plus petites, pour un mĂȘme niveau de sĂ©curitĂ©. TFHE utilise des chiffrĂ©s de type TLWE et TGSW (scalaire et ring) : l’accĂ©lĂ©ration du bootstrapping est principalement due Ă  l’utilisation d’un produit externe entre TLWE et TGSW, contrairement au produit externe GSW utilisĂ© dans la majoritĂ© des constructions prĂ©cĂ©dentes.Deux types de bootstrapping sont prĂ©sentĂ©s. Le premier, appelĂ© gate bootstrapping, est exĂ©cutĂ© aprĂšs l’évaluation homomorphique d’une porte logique (binaire ou Mux) ; le deuxiĂšme, appelĂ© circuit bootstrapping, peut ĂȘtre exĂ©cutĂ© aprĂšs l’évaluation d’un nombre d'opĂ©rations homomorphiques plus grand, pour rafraĂźchir le rĂ©sultat ou pour le rendre compatible avec la suite des calculs.Dans cette thĂšse on propose aussi de nouvelles techniques pour accĂ©lĂ©rer l’évaluation des calculs homomorphiques, sans bootstrapping, et des techniques de packing des donnĂ©es. En particulier, on prĂ©sente un packing, appelĂ© vertical packing, qui peut ĂȘtre utilisĂ© pour Ă©valuer efficacement des look-up table, on propose une Ă©valuation via automates dĂ©terministes pondĂ©rĂ©s, et on prĂ©sente un compteur homomorphe appelĂ© TBSR qui peut ĂȘtre utilisĂ© pour Ă©valuer des fonctions arithmĂ©tiques.Pendant les travaux de thĂšse, le schĂ©ma TFHE a Ă©tĂ© implĂ©mentĂ© et il est disponible en open source.La thĂšse contient aussi des travaux annexes. Le premier travail concerne l’étude d’un premier modĂšle thĂ©orique de vote Ă©lectronique post-quantique basĂ© sur le chiffrement homomorphe, le deuxiĂšme analyse la sĂ©curitĂ© des familles de chiffrement homomorphe dans le cas d'une utilisation pratique sur le cloud, et le troisiĂšme ouvre sur une solution diffĂ©rente pour le calcul sĂ©curisĂ©, le calcul multi-partite.Fully homomorphic encryption is a new branch of cryptology, allowing to perform computations on encrypted data, without having to decrypt them. The main interest of homomorphic encryption schemes is the large number of practical applications for which they can be used. Examples are given by electronic voting, computations on sensitive data, such as medical or financial data, cloud computing, etc..The first fully homomorphic encryption scheme has been proposed in 2009 by Gentry. He introduced a new technique, called bootstrapping, used to reduce the noise in ciphertexts: in fact, in all the proposed homomorphic encryption schemes, the ciphertexts contain a small amount of noise, which is necessary for security reasons. If we perform computations on noisy ciphertexts, the noise increases and, after a certain number of operations, the noise becomes to large and it could compromise the correctness of the final result, if not controlled.Bootstrapping is then fundamental to construct fully homomorphic encryption schemes, but it is very costly in terms of both memory and time consuming.After Gentry’s breakthrough, the presented schemes had the goal to propose new constructions and to improve bootstrapping, in order to make homomorphic encryption practical. One of the most known schemes is GSW, proposed by Gentry, Sahai et Waters in 2013. The security of GSW is based on the LWE (learning with errors) problem, which is considered hard in practice. The most rapid bootstrapping on a GSW-based scheme has been presented by Ducas and Micciancio in 2015. In this thesis, we propose a new variant of the scheme proposed by Ducas and Micciancio, that we call TFHE.The TFHE scheme improves previous results, by performing a faster bootstrapping (in the range of a few milliseconds) and by using smaller bootstrapping keys, for the same security level. TFHE uses TLWE and TGSW ciphertexts (both scalar and ring): the acceleration of bootstrapping is mainly due to the replacement of the internal GSW product, used in the majority of previous constructions, with an external product between TLWE and TGSW.Two kinds of bootstrapping are presented. The first one, called gate bootstrapping, is performed after the evaluation of a homomorphic gate (binary or Mux); the second one, called circuit bootstrapping, can be executed after the evaluation of a larger number of homomorphic operations, in order to refresh the result or to make it compatible with the following computations.In this thesis, we also propose new techniques to improve homomorphic computations without bootstrapping and new packing techniques. In particular, we present a vertical packing, that can be used to efficiently evaluate look-up tables, we propose an evaluation via weighted deterministic automata, and we present a homomorphic counter, called TBSR, that can be used to evaluate arithmetic functions.During the thesis, the TFHE scheme has been implemented and it is available in open source.The thesis contains also ancillary works. The first one concerns the study of the first model of post-quantum electronic voting based on fully homomorphic encryption, the second one analyzes the security of homomorphic encryption in a practical cloud implementation scenario, and the third one opens up about a different solution for secure computing, multi-party computation
    corecore